ADOConnection a CommandTimeout
Otázka od: Blazek Jaroslav
9. 10. 2002 17:22
Ahoj,
z aplikace spoustim pomoci TADOStoredProc proceduru na MSSQL serveru, ktera
trva neco malo pod 2 min v QA.
Jenze pokud ji pustim z aplikace, tak se vubec nebere v potaz CommandTimeout,
vzdy to vyhodi vyjimku (EOleException - Timeout expired) po defaultnich 30 s, i
kdyz je tam nastaveno vic.
Zkousel jsem to i pomoci TADOQuery, ale stejny efekt.
Uz nevim co s tim......nemusi se jeste neco nastavovat u ADOConnection? Nic
jsem ale nenasel.
W2k(SP3), MSSQL 7(SP4), 2k(SP2), D5(UP1 + ADO(UP1))
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: Bohdan Dudla
10. 10. 2002 7:13
Ahoj.
TADOCommand ma vlastnost CommandTimeout jako public, ale TADOStoredProc a
TADOQuery uz jako protected.
Mas dve moznosti:
1. Napsat si vlastni potomky z TADOQuery a TADOStoredProc, kde vlastnost
CommandTimeout das do public nebo published.
2. Vsude kde chces nastavit CommandTimeout pouzivat vyraz
(ADOQuery1 as TADOCommand).CommandTimeout := 1000;
Ta prvni varianta je podle me cistejsi.
With best regards,
Bohdan Dudla
Pike Electronic spol. s r.o.
Modrinova 2
300 00 Plzen
Czech Republic
tel: +420 19 72 40 738
fax: +420 19 74 31 738
gsm: +420 732 441 716
e-mail: bdudla@pikeelectronic.com
Odpovedá: Blazek Jaroslav
10. 10. 2002 7:32
Ahoj,
> z aplikace spoustim pomoci TADOStoredProc proceduru na MSSQL
> serveru, ktera trva neco malo pod 2 min v QA.
> Jenze pokud ji pustim z aplikace, tak se vubec nebere v potaz
> CommandTimeout, vzdy to vyhodi vyjimku (EOleException -
> Timeout expired) po defaultnich 30 s, i kdyz je tam nastaveno vic.
> Zkousel jsem to i pomoci TADOQuery, ale stejny efekt.
> Uz nevim co s tim......nemusi se jeste neco nastavovat u
> ADOConnection? Nic jsem ale nenasel.
Tak tohleto opravdu nechapu, zkusil jsem to pustit pomoci TADOCommand
ADOCommand.CommandTimeout := 500;
ADOCommand.Connection := ADOConnection; // ADOConnection.CommandTimeout
nastaven take na 500
ADOCommand.CommandText := 'exec MojeProcedura Parametry';
ADOCommand.Execute();
a vse probehlo v poradku.....
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: Jan Sebelík
10. 10. 2002 13:22
> Odesílatel: Bohdan Dudla <bdudla@pikeelectronic.com>
> 2. Vsude kde chces nastavit CommandTimeout pouzivat vyraz
> (ADOQuery1 as TADOCommand).CommandTimeout := 1000;
Nevim, nevim.
Pokud neni TADOQuery oddedena od TADOCommand, a to neni, tak to skonci
vyjimkou.
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
Odpovedá: Bohdan Dudla
10. 10. 2002 12:27
>> (ADOQuery1 as TADOCommand).CommandTimeout := 1000;
>Nevim, nevim.
>Pokud neni TADOQuery oddedena od TADOCommand, a to neni, tak to skonci
vyjimkou.
Zarucene ale funguje varianta
TADOCommand(ADOQuery1).CommandTimeout := 1000;
With best regards,
Bohdan Dudla
Pike Electronic spol. s r.o.
Modrinova 2
300 00 Plzen
Czech Republic
tel: +420 19 72 40 738
fax: +420 19 74 31 738
gsm: +420 732 441 716
e-mail: bdudla@pikeelectronic.com
Odpovedá: Pavel Mattivi
11. 10. 2002 8:31
ahoj,
uz sem to tu psal, timeout musi byt nastaveny na connection i na datasetu,
jinak se vzdy pouzije defaultnich 30s. TADOCommand si to uvnitr mozna
nastavi na connection samo, to nevim jiste.
Pavel
ICQ 66792780
----- Original Message -----
From: "Blazek Jaroslav" <Jaroslav.Blazek@access-it.cz>
To: <delphi-l@clexpert.cz>
Sent: Wednesday, October 09, 2002 7:20 PM
Subject: ADOConnection a CommandTimeout
> z aplikace spoustim pomoci TADOStoredProc proceduru na MSSQL serveru,
ktera trva neco malo pod 2 min v QA.
> Jenze pokud ji pustim z aplikace, tak se vubec nebere v potaz
CommandTimeout, vzdy to vyhodi vyjimku (EOleException - Timeout expired) po
defaultnich 30 s, i kdyz je tam nastaveno vic.
> Zkousel jsem to i pomoci TADOQuery, ale stejny efekt.
> Uz nevim co s tim......nemusi se jeste neco nastavovat u ADOConnection?
Nic jsem ale nenasel.
Odpovedá: Blazek Jaroslav
11. 10. 2002 7:26
Ahoj,
> bdudla@pikeelectronic.com 10.10.02 7:12 >>>
>TADOCommand ma vlastnost CommandTimeout jako public, ale TADOStoredProc a
>TADOQuery uz jako protected.
>Mas dve moznosti:
>1. Napsat si vlastni potomky z TADOQuery a TADOStoredProc, kde vlastnost
>CommandTimeout das do public nebo published.
ja uz vlastne potomka TADOQuery mam, takze to nebyl problem, diky...
Jen me zarazi, k cemu je potom CommandTimeout u TADOConnection?
Myslel jsem kdyz to nastavim u neho, bude to platit u vsech komponent, ktere
jsou pres nej spojeny, ale zjevne to tak neni
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644